package cn.iocoder.yudao.module.erp.controller.admin.monthplaninfo.vo;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 月度计划分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MonthPlanInfoPageReqVO extends PageParam {

    //照付不议描述
    private String ratioDescible;

    @Schema(description = "名称", example = "芋艿")
    private String name;

    @Schema(description = "计划开始日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate[] beginTime;

    @Schema(description = "计划截止日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate[] endTime;

    @Schema(description = "上载点", example = "25925")
    private Long upId;

    @Schema(description = "下载点", example = "5545")
    private Long downloadId;

    @Schema(description = "托运方式"  )
    private Integer checkType;

    @Schema(description = "托运商")
    private String checkCompany;

    @Schema(description = "管输费", example = "13480")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] linePrice;

    @Schema(description = "管线")
    private String lineInfo;

    @Schema(description = "气源")
    private String gasResource;

    @Schema(description = "已下载总量", example = "16031")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] usedSaleCount;

    @Schema(description = "已上载总量", example = "20428")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] usedBuyCount;

    @Schema(description = "销售客户", example = "29465")
    private Long saleCustomerId;

    @Schema(description = "销售单价（元/方）", example = "19351")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] salePrice;

    @Schema(description = "销售居间额", example = "32054")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] saleOtherCount;

    @Schema(description = "居间费（元/方）", example = "3240")
    private BigDecimal saleOtherPrice;

    @Schema(description = "销售总量（万方)", example = "24760")
    private BigDecimal saleGasAllCount;

    @Schema(description = "每日数量（万方）", example = "23877")
    private BigDecimal saleSubCount;

    @Schema(description = "销售合同", example = "14909")
    private Long saleContractId;

    @Schema(description = "采购客户", example = "1254")
    private Long buyCustomerId;

    @Schema(description = "采购单价（元/方）", example = "18579")
    private BigDecimal buyPrice;

    @Schema(description = "居间费（元/方）"  )
    private BigDecimal buyOtherPrice;

    @Schema(description = "采购总量（万方）"  )
    private BigDecimal buyGasAllCount;

    @Schema(description = "每日数量（万方）", example = "6014")
    private BigDecimal buySubCount;

    @Schema(description = "总销售金额（元）", example = "20252")
    private BigDecimal buyAllCount;

    @Schema(description = "采购合同" )
    private Long buyContractId;

    @Schema(description = "状态"  )
    private Integer status;

    @Schema(description = "备注"  )
    private String remark;

    @Schema(description = "附件" )
    private String fileUrl;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}